Deposits
1. Description
Deposits cashflow type generates cashflows for each record based on the mapping provided for deposit_amount, interest_rate, maturity_date, intesrest_calculation_type, compounding_frequency, interest_payment_frequency, interest_basis, deposit_date, compounded_amount, tds_rate, accrued_interest_amount, last_compounded_date, is_adjustemnt_required.
2. Screen Configuration
Click ⬇️ to download the test-bed.
3. Cashflow Derivation Logic
Case 1: When the 'intesrest_calculation_type' is S and 'interest_payment_frequency' is B, which means interest calculation type is Simple and Payout is at Maturity Date and deposit date is mapped.
ACCOUNT_ID|DEPOSIT_AMOUNT|INTEREST_RATE|MATURITY_DATE|INTEREST_CALCULATION_TYPE|COMPOUNDING_FREQUENCY|INTEREST_PAYMENT_FREQUENCY|INTEREST_BASIS|DEPOSIT_DATE
ACC1001|100000.00|8.00|31-12-2026|S|N|B|ActualBy365|31-03-2024
A single cashflow will get generated as the interest_payment_frequency is 'B',
number of days between account open date and maturity date = 1005
so, interest amount = (deposit_amount * interest_rate * (number of days between account open date and maturity date)) / 100 * number of days in a year
interest amount = 22027.40
principal_amount = 100000.00
cashflow_date = 31-12-2026
Case 2: When the 'interest_calculation_type' is S and 'interest_payment_frequency' is B, which means interest calculation type is Simple and Payout is at Maturity Date and deposit date is not mapped.
let AsOnDate be 31-01-2024
ACCOUNT_ID|DEPOSIT_AMOUNT|INTEREST_RATE|MATURITY_DATE|INTEREST_CALCULATION_TYPE|COMPOUNDING_FREQUENCY|INTEREST_PAYMENT_FREQUENCY|INTEREST_BASIS
ACC1001|100000.00|8.00|31-12-2026|S|N|B|ActualBy365
A single cashflow will get generated as the interest_payment_frequency is 'B',
number of days between as on date and maturity date = 1065
so, interest amount = (deposit_amount * interest_rate * (number of days between account open date and maturity date)) / 100 * number of days in a year
interest amount = 23342.47
principal_amount = 100000.00
cashflow_date = 31-12-2026
Case 3: When interest_calculation_type is 'S' and interest_payment_frequency is provided, if interest_payment_frequency is M, the frequency is monthly, if it is 'Q', the frequency is quarterly, if it is 'H' the frequency is half-yearly or if it is 'Y', the frequency is yearly.
let say the interest_payment_frequency is H
ACCOUNT_ID|DEPOSIT_AMOUNT|INTEREST_RATE|MATURITY_DATE|INTEREST_CALCULATION_TYPE|COMPOUNDING_FREQUENCY|INTEREST_PAYMENT_FREQUENCY|INTEREST_BASIS|DEPOSIT_DATE
ACC1001|100,000.00|8.00|12/31/2026|S|N|H|ActualBy365|3/31/2024
Multiple cashflows will be generated, it will start from deposit date + frequency and will be generated till maturity date, deposit amount will be stamped at maturity date and rest all cashflows will have zero principal amount.
the first cashflow will start from deposit_date + frequency
so here it will be 31-03-2024 + 6 Months = 30/09/2024
for calculation of first interest amount = (deposit_amount * interest_rate * (number of days between deposit date and first cashflow date)) / 100 * number of days in a year
calculation of interest amount from second cashflow onwards will maturity date
interest amount = (deposit_amount * interest_rate * (number of days between previous cashflow date and current cashflow date)) / 100 * number of days in a year
final cashflows generated,
Principal amount = 0, Interest amount = 4,010.96, Cashflow date = 9/30/2024
Principal amount = 0, Interest amount = 3,989.04, Cashflow date = 3/31/2025
Principal amount = 0, Interest amount = 4,010.96, Cashflow date = 9/30/2025
Principal amount = 100,000.00, Interest amount = 3,989.04, Cashflow date = 3/31/2026
Case 4: When `interest_calculation_type` is 'S', `interest_payment_frequency` is 'H', and `accrued_interest_amount` is present:
ACCOUNT_ID|DEPOSIT_AMOUNT|INTEREST_RATE|MATURITY_DATE|INTEREST_CALCULATION_TYPE|COMPOUNDING_FREQUENCY|INTEREST_PAYMENT_FREQUENCY|INTEREST_BASIS|DEPOSIT_DATE|ACCRUED_INT_AMOUNT|AS_ON_DATE
ACC1001|100,000.00|8.00|12/31/2026|S|N|H|ActualBy365|3/31/2024|1,775.34|1/31/2024
Multiple cashflows will be generated, it will start from deposit date + frequency and will be generated till maturity date, deposit amount will be stamped at maturity date and rest all cashflows will have zero principal amount.
the first cashflow will start from deposit_date + frequency
so here it will be 31-03-2024 + 6 Months = 30/09/2024
for calculation of first interest amount = accrued interest amount + (deposit_amount * interest_rate * (number of days between deposit date and first cashflow date)) / 100 * number of days in a year
calculation of interest amount from second cashflow onwards will maturity date
interest amount = (deposit_amount * interest_rate * (number of days between previous cashflow date and current cashflow date)) / 100 * number of days in a year
final cashflows generated,
Principal amount = 0, Interest amount = 7,101.37, Cashflow date = 9/30/2024
Principal amount = 0, Interest amount = 3,989.04, Cashflow date = 3/31/2025
Principal amount = 0, Interest amount = 4,010.96, Cashflow date = 9/30/2025
Principal amount = 100,000.00, Interest amount = 3,989.04, Cashflow date = 3/31/2026
Case 5: When `interest_calculation_type` is 'C', `interest_payment_frequency` is 'B', and `compounding_frequency` is 'Q':
ACCOUNT_ID|DEPOSIT_AMOUNT|INTEREST_RATE|MATURITY_DATE|INTEREST_CALCULATION_TYPE|COMPOUNDING_FREQUENCY|INTEREST_PAYMENT_FREQUENCY|INTEREST_BASIS|DEPOSIT_DATE
ACC1001|300,000.00|5.00|6/30/2026|C|Q|B|ActualBy365|6/30/2024
intermediate data: the interest will be compounded at each compounding frequency.
Interest amount = 3,780.82, Outstanding amount = 300,000.00, Date = 9/30/2024
Interest amount = 3,828.47, Outstanding amount = 303,780.82, Date = 12/31/2024
Interest amount = 3,792.44, Outstanding amount = 307,609.29, Date = 3/31/2025
Interest amount = 3,881.86, Outstanding amount = 311,401.74, Date = 6/30/2025
Interest amount = 3,973.44, Outstanding amount = 315,283.59, Date = 9/30/2025
Interest amount = 4,023.51, Outstanding amount = 319,257.03, Date = 12/31/2025
Interest amount = 3,985.65, Outstanding amount = 323,280.54, Date = 3/31/2026
Interest amount = 4,079.62, Outstanding amount = 327,266.19, Date = 6/30/2026
now since the interest_payment_frequency is 'B',
a single cashflow will be generated where
principal amount = 300,000.00
interest amount = sum of all intermediately generated interest amounts = 31,345.81
cashflow date = 6/30/2026
Case 6: When `interest_calculation_type` is 'C', `interest_payment_frequency` is 'Q', and last compounded date is given
ACCOUNT_ID|DEPOSIT_AMOUNT|INTEREST_RATE|MATURITY_DATE|INTEREST_CALCULATION_TYPE|COMPOUNDING_FREQUENCY|INTEREST_PAYMENT_FREQUENCY|INTEREST_BASIS|DEPOSIT_DATE|COMPOUNDED_AMOUNT|AS_ON_DATE|LAST_COMPOUNDED_DATE
ACC1001|300,000.00|5.00|6/30/2026|C|Q|B|ActualBy365|6/30/2024|7,609.29|3/15/2025|12/31/2024
The compunding interest calculation will take last compounded date as start date instead of deposit start date
Intermediate data:
Interest amount = 3,792.44, Outstanding amount = 307,609.29, Date = 3/31/2025
Interest amount = 3,881.86, Outstanding amount = 311,401.73, Date = 6/30/2025
Interest amount = 3,973.44, Outstanding amount = 315,283.59, Date = 9/30/2025
Interest amount = 4,023.51, Outstanding amount = 319,257.03, Date = 12/31/2025
Interest amount = 3,985.65, Outstanding amount = 323,280.54, Date = 3/31/2026
Interest amount = 4,079.62, Outstanding amount = 327,266.19, Date = 6/30/2026
a single cashflow will be generated where
principal amount = 300,000.00
interest amount = sum of all intermediately generated interest amounts = 31,345.81
cashflow date = 6/30/2026
Case 7: When `interest_calculation_type` is 'C', `interest_payment_frequency` is 'Q', and last compounded amount is given
in this scenario we have two cases,
ACCOUNT_ID|DEPOSIT_AMOUNT|INTEREST_RATE|MATURITY_DATE|INTEREST_CALCULATION_TYPE|COMPOUNDING_FREQUENCY|INTEREST_PAYMENT_FREQUENCY|INTEREST_BASIS|DEPOSIT_DATE|COMPOUNDED_AMOUNT|AS_ON_DATE
ACC1001|300,000.00|5.00|6/30/2026|C|Q|B|ActualBy365|6/30/2024|7,609.29|3/15/2025
1. Increasing deposit date to find the last compounded date
Increase the deposit date with the frequency and check when the interest amount calculated is equal to compounded amount.
so from deposit date i.e. 30-06-2024,
increment it with frequency i.e. 3,
and calculate interest amount and check with compounded amount if equal, then consider the start date as last compounded date,
so total interest will be summed for the compounding dates after the last cashflow date
Intermediate data:
Interest amount = 3,881.86, Outstanding amount = 311,401.73, Date = 6/30/2025
Interest amount = 3,973.44, Outstanding amount = 315,283.59, Date = 9/30/2025
Interest amount = 4,023.51, Outstanding amount = 319,257.03, Date = 12/31/2025
Interest amount = 3,792.44, Outstanding amount = 307,609.29, Date = 3/31/2025
Interest amount = 3,985.65, Outstanding amount = 323,280.54, Date = 3/31/2026
Interest amount = 4,079.62, Outstanding amount = 327,266.19, Date = 6/30/2026
a single cashflow will be generated where
principal amount = 300,000.00
interest amount = sum of all intermediately generated interest amounts = 31,345.81
cashflow date = 6/30/2026
2. Decreasing maturity date to find the last compounded date
DEcrease the deposit date with the frequency and check when the interest amount calculated is equal to compounded amount.
so from deposit date i.e. 30-06-2026,
decrement it with frequency i.e. 3,
and calculate interest amount and check with compounded amount if equal, then consider the start date as last compounded date,
so total interest will be summed for the compounding dates after the last cashflow date
Intermediate data:
Interest amount = 3,881.86, Outstanding amount = 311,401.73, Date = 6/30/2025
Interest amount = 3,973.44, Outstanding amount = 315,283.59, Date = 9/30/2025
Interest amount = 4,023.51, Outstanding amount = 319,257.03, Date = 12/31/2025
Interest amount = 3,792.44, Outstanding amount = 307,609.29, Date = 3/31/2025
Interest amount = 3,985.65, Outstanding amount = 323,280.54, Date = 3/31/2026
Interest amount = 4,079.62, Outstanding amount = 327,266.19, Date = 6/30/2026
a single cashflow will be generated where
principal amount = 300,000.00
interest amount = sum of all intermediately generated interest amounts = 31,345.81
cashflow date = 6/30/2026
4. Required Fields
# | Parameters | Description | Is_Mandatory_Field |
---|---|---|---|
1 | account_id | Unique identifier associated with the account. | YES |
2 | deposit_amount | Initial amount deposited into the account. | YES |
3 | interest_rate | Annual rate at which interest accrues on the deposit amount. | YES |
4 | maturity_date | Date when the deposit reaches its maturity and is due for withdrawal. | YES |
5 | interest_calculation_type | Method used to calculate interest (e.g., Simple or Compound). | YES |
6 | compounding_frequency | Frequency at which interest is compounded (e.g., Quarterly or None). | NO |
7 | interest_payment_frequency | Frequency at which interest is paid out (e.g., at Maturity or Half-yearly). | YES |
8 | interest_basis | Basis on which interest is calculated (e.g., Actual/365 or Actual/360). | YES |
9 | deposit_date | Date when the initial deposit was made into the account. | YES |
10 | accrued_interest_amount | Optional field indicating the total amount of interest accrued but not yet paid out. | NO |
11 | last_compounded_date | Optional date when interest was last compounded. | NO |
12 | compounded_amount | Optional amount after the last compounding event. | NO |
13 | tds_rate | NO |
5. Working Excel
Click ⬇️ to download the excel calculation.